home *** CD-ROM | disk | FTP | other *** search
- /* ovtpvt.f -- translated by f2c (version of 3 February 1990 3:36:42).
- You must link the resulting object file with the libraries:
- -lF77 -lI77 -lm -lc (in that order)
- */
-
- #include "f2c.h"
-
- /* Common Block Declarations */
-
- struct {
- integer ielmnt, isbckt, nsbckt, iunsat, nunsat, itemps, numtem, isens,
- nsens, ifour, nfour, ifield, icode, idelim, icolum, insize,
- junode, lsbkpt, numbkp, iorder, jmnode, iur, iuc, ilc, ilr,
- numoff, isr, nmoffc, iseq, iseq1, neqn, nodevs, ndiag, iswap,
- iequa, macins, lvnim1, lx0, lvn, lynl, lyu, lyl, lx1, lx2, lx3,
- lx4, lx5, lx6, lx7, ld0, ld1, ltd, imynl, imvn, lcvn, nsnod,
- nsmat, nsval, icnod, icmat, icval, loutpt, lpol, lzer, irswpf,
- irswpr, icswpf, icswpr, irpt, jcpt, irowno, jcolno, nttbr, nttar,
- lvntmp;
- } tabinf_;
-
- #define tabinf_1 tabinf_
-
- struct {
- integer locate[50], jelcnt[50], nunods, ncnods, numnod, nstop, nut, nlt,
- nxtrm, ndist, ntlin, ibr, numvs, numalt, numcyc;
- } cirdat_;
-
- #define cirdat_1 cirdat_
-
- struct {
- doublereal omega, time, delta, delold[7], ag[7], vt, xni, egfet, xmu,
- sfactr;
- integer mode, modedc, icalc, initf, method, iord, maxord, noncon, iterno,
- itemno, nosolv, modac, ipiv, ivmflg, ipostp, iscrch, iofile;
- } status_;
-
- #define status_1 status_
-
- struct {
- integer iprnta, iprntl, iprntm, iprntn, iprnto, limtim, limpts, lvlcod,
- lvltim, itl1, itl2, itl3, itl4, itl5, itl6, igoof, nogo, keof;
- } flags_;
-
- #define flags_1 flags_
-
- struct {
- doublereal atime, aprog[3], adate, atitle[10], defl, defw, defad, defas,
- rstats[50];
- integer iwidth, lwidth, nopage;
- } miscel_;
-
- #define miscel_1 miscel_
-
- struct {
- doublereal tcstar[2], tcstop[2], tcincr[2];
- integer icvflg, itcelm[2], kssop, kinel, kidin, kovar, kidout;
- } dc_;
-
- #define dc_1 dc_
-
- struct {
- doublereal fstart, fstop, fincr, skw2, refprl, spw2;
- integer jacflg, idfreq, inoise, nosprt, nosout, nosin, idist, idprt;
- } ac_;
-
- #define ac_1 ac_
-
- struct {
- doublereal tstep, tstop, tstart, delmax, tdmax, forfre;
- integer jtrflg;
- } tran_;
-
- #define tran_1 tran_
-
- struct {
- doublereal xincr, string[15], xstart, yvar[8];
- integer itab[8], itype[8], ilogy[8], npoint, numout, kntr, numdgt;
- } outinf_;
-
- #define outinf_1 outinf_
-
- struct {
- doublereal value[200000];
- } blank_;
-
- #define blank_1 blank_
-
- /* Table of constant values */
-
- static integer c__1 = 1;
-
- /* spice version 2g.6 sccsid=ovtpvt.ma 3/15/83 */
- /*< subroutine ovtpvt >*/
- /* Subroutine */ int ovtpvt_()
- {
- /* Initialized data */
-
- static struct {
- char e_1[96];
- doublereal e_2;
- } equiv_33 = { {'d', 'c', ' ', 't', 'r', 'a', 'n', 's', 'f', 'e', 'r',
- ' ', 'c', 'u', 'r', 'v', 'e', 's', ' ', ' ', ' ', ' ', ' ',
- ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 't', 'r', 'a',
- 'n', 's', 'i', 'e', 'n', 't', ' ', 'a', 'n', 'a', 'l', 'y',
- 's', 'i', 's', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
- ' ', ' ', ' ', ' ', ' ', 'a', 'c', ' ', 'a', 'n', 'a', 'l',
- 'y', 's', 'i', 's', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
- ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
- ' '}, 0. };
-
- #define subtit ((doublereal *)&equiv_33)
-
- static struct {
- char e_1[24];
- doublereal e_2;
- } equiv_34 = { {'(', '1', 'p', 'e', '1', '1', '.', '3', ',', '2', 'x',
- ',', '8', 'e', '0', '0', '.', '0', '0', ')', ' ', ' ', ' ',
- ' '}, 0. };
-
- #define prform ((doublereal *)&equiv_34)
-
- static struct {
- char e_1[8];
- doublereal e_2;
- } equiv_35 = { {'.', ' ', ' ', ' ', ' ', ' ', ' ', ' '}, 0. };
-
- #define aper (*(doublereal *)&equiv_35)
-
- static struct {
- char e_1[8];
- doublereal e_2;
- } equiv_36 = { {')', ' ', ' ', ' ', ' ', ' ', ' ', ' '}, 0. };
-
- #define rprn (*(doublereal *)&equiv_36)
-
-
- /* Format strings */
- static char fmt_111[] = "(\002y\002)";
-
- /* System generated locals */
- integer i_1, i_2, i_3;
-
- /* Builtin functions */
- integer s_wsfe(), do_fio(), e_wsfe();
- double r_imag(), d_lg10();
-
- /* Local variables */
- static complex cval;
- static doublereal xmag;
- static integer locx;
- extern /* Subroutine */ int move_();
- static integer ipos, locy, locv;
- static doublereal xvar;
- extern /* Subroutine */ int plot_();
- static integer lout;
- static doublereal xphs;
- extern /* Subroutine */ int getm8_();
- static integer i, k;
- static doublereal t1;
- extern /* Subroutine */ int title_();
- static integer locyt, ktype;
- static doublereal t2;
- static integer id;
- extern /* Subroutine */ int ntrpl8_();
- #define nodplc ((integer *)&blank_1)
- #define cvalue ((complex *)&blank_1)
- extern /* Subroutine */ int second_(), crunch_();
- static integer ifract, ifwdth;
- extern /* Subroutine */ int alfnum_();
- static integer noprln, loc;
- extern /* Subroutine */ int setprn_();
- static integer numpnt;
- extern /* Subroutine */ int clrmem_(), setplt_(), fouran_(), magphs_();
- static doublereal yvr;
-
- /* Fortran I/O blocks */
- static cilist io__20 = { 0, 0, 0, (char *)prform, 0 };
- static cilist io__21 = { 0, 0, 0, fmt_111, 0 };
- static cilist io__29 = { 0, 0, 0, (char *)prform, 0 };
- static cilist io__30 = { 0, 0, 0, fmt_111, 0 };
-
-
- /*< implicit double precision (a-h,o-z) >*/
-
-
- /* this routine generates the requested tabular listings of analysis
- */
- /* results. it calls plot to generate line-printer plots. */
-
- /* spice version 2g.6 sccsid=tabinf 3/15/83 */
- /*< common /tabinf/ ielmnt,isbckt,nsbckt,iunsat,nunsat,itemps,numtem, >*/
- /*< 1 isens,nsens,ifour,nfour,ifield,icode,idelim,icolum,insize, >*/
- /*< 2 junode,lsbkpt,numbkp,iorder,jmnode,iur,iuc,ilc,ilr,numoff,isr, >*/
- /*< 3 nmoffc,iseq,iseq1,neqn,nodevs,ndiag,iswap,iequa,macins,lvnim1, >*/
- /*< 4 lx0,lvn,lynl,lyu,lyl,lx1,lx2,lx3,lx4,lx5,lx6,lx7,ld0,ld1,ltd, >*/
- /*< 5 imynl,imvn,lcvn,nsnod,nsmat,nsval,icnod,icmat,icval, >*/
- /*< 6 loutpt,lpol,lzer,irswpf,irswpr,icswpf,icswpr,irpt,jcpt, >*/
- /*< 7 irowno,jcolno,nttbr,nttar,lvntmp >*/
- /* spice version 2g.6 sccsid=cirdat 3/15/83 */
- /*< common /cirdat/ locate(50),jelcnt(50),nunods,ncnods,numnod,nstop, >*/
- /*< 1 nut,nlt,nxtrm,ndist,ntlin,ibr,numvs,numalt,numcyc >*/
- /* spice version 2g.6 sccsid=status 3/15/83 */
- /*< common /status/ omega,time,delta,delold(7),ag(7),vt,xni,egfet, >*/
- /*< 1 xmu,sfactr,mode,modedc,icalc,initf,method,iord,maxord,noncon, >*/
- /*< 2 iterno,itemno,nosolv,modac,ipiv,ivmflg,ipostp,iscrch,iofile >*/
- /* spice version 2g.6 sccsid=flags 3/15/83 */
- /*< common /flags/ iprnta,iprntl,iprntm,iprntn,iprnto,limtim,limpts, >*/
- /*< 1 lvlcod,lvltim,itl1,itl2,itl3,itl4,itl5,itl6,igoof,nogo,keof >*/
- /* spice version 2g.6 sccsid=miscel 3/15/83 */
- /*< common /miscel/ atime,aprog(3),adate,atitle(10),defl,defw,defad, >*/
- /*< 1 defas,rstats(50),iwidth,lwidth,nopage >*/
- /* spice version 2g.6 sccsid=dc 3/15/83 */
- /*< common /dc/ tcstar(2),tcstop(2),tcincr(2),icvflg,itcelm(2),kssop, >*/
- /*< 1 kinel,kidin,kovar,kidout >*/
- /* spice version 2g.6 sccsid=ac 3/15/83 */
- /*< common /ac/ fstart,fstop,fincr,skw2,refprl,spw2,jacflg,idfreq, >*/
- /*< 1 inoise,nosprt,nosout,nosin,idist,idprt >*/
- /* spice version 2g.6 sccsid=tran 3/15/83 */
- /*< common /tran/ tstep,tstop,tstart,delmax,tdmax,forfre,jtrflg >*/
- /* spice version 2g.6 sccsid=outinf 3/15/83 */
- /*< common /outinf/ xincr,string(15),xstart,yvar(8),itab(8),itype(8), >*/
- /*< 1 ilogy(8),npoint,numout,kntr,numdgt >*/
- /* spice version 2g.6 sccsid=blank 3/15/83 */
- /*< common /blank/ value(200000) >*/
- /*< integer nodplc(64) >*/
- /*< complex cvalue(32) >*/
- /*< equivalence (value(1),nodplc(1),cvalue(1)) >*/
-
- /*< complex cval >*/
- /*< dimension prform(3) >*/
- /*< dimension subtit(4,3) >*/
- /*< data subtit / 8hdc trans, 8hfer curv, 8hes , 8h , >*/
- /*< 1 8htransien, 8ht analys, 8his , 8h , >*/
- /*< 2 8hac analy, 8hsis , 8h , 8h / >*/
- /*< data prform / 8h(1pe11.3, 8h,2x,8e00, 8h.00) / >*/
- /*< data aper,rprn / 1h., 1h) / >*/
-
- /*< call second(t1) >*/
- second_(&t1);
- /*< if (icalc.le.0) go to 1000 >*/
- if (status_1.icalc <= 0) {
- goto L1000;
- }
- /*< call crunch >*/
- crunch_();
- /*< if (nogo.lt.0) go to 1000 >*/
- if (flags_1.nogo < 0) {
- goto L1000;
- }
-
- /* construct format statement to be used for printing the outputs */
-
- /*< ifract=max0(numdgt-1,0) >*/
- /* Computing MAX */
- i_1 = outinf_1.numdgt - 1;
- ifract = max(0,i_1);
- /*< ifwdth=ifract+9 >*/
- ifwdth = ifract + 9;
- /*< ipos=15 >*/
- ipos = 15;
- /*< call alfnum(ifwdth,prform,ipos) >*/
- alfnum_(&ifwdth, prform, &ipos);
- /*< call move(prform,ipos,aper,1,1) >*/
- move_(prform, &ipos, &aper, &c__1, &c__1);
- /*< ipos=ipos+1 >*/
- ++ipos;
- /*< call alfnum(ifract,prform,ipos) >*/
- alfnum_(&ifract, prform, &ipos);
- /*< call move(prform,ipos,rprn,1,1) >*/
- move_(prform, &ipos, &rprn, &c__1, &c__1);
-
- /*< noprln=min0(8,(lwidth-12)/ifwdth) >*/
- /* Computing MAX */
- i_1 = 8, i_2 = (miscel_1.lwidth - 12) / ifwdth;
- noprln = min(i_2,i_1);
- /*< if (mode-2) 50,60,300 >*/
- if ((i_1 = status_1.mode - 2) < 0) {
- goto L50;
- } else if (i_1 == 0) {
- goto L60;
- } else {
- goto L300;
- }
- /*< 50 numout=jelcnt(41)+1 >*/
- L50:
- outinf_1.numout = cirdat_1.jelcnt[40] + 1;
- /*< go to 70 >*/
- goto L70;
- /*< 60 numout=jelcnt(42)+1 >*/
- L60:
- outinf_1.numout = cirdat_1.jelcnt[41] + 1;
-
- /* dc and transient analysis printing */
-
- /*< 70 loc=locate(30+mode) >*/
- L70:
- loc = cirdat_1.locate[status_1.mode + 29];
- /*< 80 if (loc.eq.0) go to 200 >*/
- L80:
- if (loc == 0) {
- goto L200;
- }
- /*< kntr=min0(noprln,nodplc(loc+3)) >*/
- /* Computing MAX */
- i_1 = noprln, i_2 = nodplc[loc + 2];
- outinf_1.kntr = min(i_2,i_1);
- /*< if (kntr.le.0) go to 120 >*/
- if (outinf_1.kntr <= 0) {
- goto L120;
- }
- /*< call title(1,lwidth,1,subtit(1,mode)) >*/
- title_(&c__1, &miscel_1.lwidth, &c__1, &subtit[(status_1.mode << 2) - 4]);
-
- /*< call setprn(loc) >*/
- setprn_(&loc);
-
- /* get buffer space */
-
- /*< call getm8(locx,npoint) >*/
- getm8_(&locx, &outinf_1.npoint);
- /*< call getm8(locy,kntr*npoint) >*/
- i_1 = outinf_1.kntr * outinf_1.npoint;
- getm8_(&locy, &i_1);
-
- /* interpolate outputs */
-
- /*< call ntrpl8(locx,locy,numpnt) >*/
- ntrpl8_(&locx, &locy, &numpnt);
-
- /* print outputs */
-
- /*< do 100 i=1,numpnt >*/
- i_1 = numpnt;
- for (i = 1; i <= i_1; ++i) {
- /*< xvar=value(locx+i) >*/
- xvar = blank_1.value[locx + i - 1];
- /*< locyt=locy >*/
- locyt = locy;
- /*< do 90 k=1,kntr >*/
- i_2 = outinf_1.kntr;
- for (k = 1; k <= i_2; ++k) {
- /*< yvar(k)=value(locyt+i) >*/
- outinf_1.yvar[k - 1] = blank_1.value[locyt + i - 1];
- /*< locyt=locyt+npoint >*/
- locyt += outinf_1.npoint;
- /*< 90 continue >*/
- /* L90: */
- }
- /*< write (iofile,prform) xvar,(yvar(k),k=1,kntr) >*/
- io__20.ciunit = status_1.iofile;
- s_wsfe(&io__20);
- do_fio(&c__1, (char *)&xvar, (ftnlen)sizeof(doublereal));
- i_2 = outinf_1.kntr;
- for (k = 1; k <= i_2; ++k) {
- do_fio(&c__1, (char *)&outinf_1.yvar[k - 1], (ftnlen)sizeof(
- doublereal));
- }
- e_wsfe();
- /*< 100 continue >*/
- /* L100: */
- }
- /*< write (iofile,111) >*/
- io__21.ciunit = status_1.iofile;
- s_wsfe(&io__21);
- e_wsfe();
- /*< 111 format(1hy) >*/
- /*< call clrmem(locx) >*/
- clrmem_(&locx);
- /*< call clrmem(locy) >*/
- clrmem_(&locy);
- /*< 120 loc=nodplc(loc) >*/
- L120:
- loc = nodplc[loc - 1];
- /*< go to 80 >*/
- goto L80;
-
- /* dc and transient analysis plotting */
-
- /*< 200 loc=locate(35+mode) >*/
- L200:
- loc = cirdat_1.locate[status_1.mode + 34];
- /*< 210 if (loc.eq.0) go to 250 >*/
- L210:
- if (loc == 0) {
- goto L250;
- }
- /*< kntr=nodplc(loc+3) >*/
- outinf_1.kntr = nodplc[loc + 2];
- /*< if (kntr.le.0) go to 220 >*/
- if (outinf_1.kntr <= 0) {
- goto L220;
- }
- /*< locv=nodplc(loc+1) >*/
- locv = nodplc[loc];
- /*< call title(1,lwidth,1,subtit(1,mode)) >*/
- title_(&c__1, &miscel_1.lwidth, &c__1, &subtit[(status_1.mode << 2) - 4]);
-
- /*< call setplt(loc) >*/
- setplt_(&loc);
-
- /* get buffer space */
-
- /*< call getm8(locx,npoint) >*/
- getm8_(&locx, &outinf_1.npoint);
- /*< call getm8(locy,kntr*npoint) >*/
- i_1 = outinf_1.kntr * outinf_1.npoint;
- getm8_(&locy, &i_1);
-
- /* interpolate outputs and load plot buffers */
-
- /*< call ntrpl8(locx,locy,numpnt) >*/
- ntrpl8_(&locx, &locy, &numpnt);
- /*< call plot(numpnt,locx,locy,locv) >*/
- plot_(&numpnt, &locx, &locy, &locv);
- /*< call clrmem(locx) >*/
- clrmem_(&locx);
- /*< call clrmem(locy) >*/
- clrmem_(&locy);
- /*< 220 loc=nodplc(loc) >*/
- L220:
- loc = nodplc[loc - 1];
- /*< go to 210 >*/
- goto L210;
-
- /* fourier analysis */
-
- /*< 250 if (mode.eq.1) go to 1000 >*/
- L250:
- if (status_1.mode == 1) {
- goto L1000;
- }
- /*< if (nfour.eq.0) go to 1000 >*/
- if (tabinf_1.nfour == 0) {
- goto L1000;
- }
- /*< if (nogo.ne.0) go to 1000 >*/
- if (flags_1.nogo != 0) {
- goto L1000;
- }
- /*< call fouran >*/
- fouran_();
- /*< go to 1000 >*/
- goto L1000;
-
- /* ac analysis printing */
-
- /*< 300 numout=jelcnt(43)+jelcnt(44)+jelcnt(45)+1 >*/
- L300:
- outinf_1.numout = cirdat_1.jelcnt[42] + cirdat_1.jelcnt[43] +
- cirdat_1.jelcnt[44] + 1;
- /*< do 599 id=33,35 >*/
- for (id = 33; id <= 35; ++id) {
- /*< loc=locate(id) >*/
- loc = cirdat_1.locate[id - 1];
- /*< 320 if (loc.eq.0) go to 599 >*/
- L320:
- if (loc == 0) {
- goto L599;
- }
- /*< kntr=min0(noprln,nodplc(loc+3)) >*/
- /* Computing MAX */
- i_1 = noprln, i_2 = nodplc[loc + 2];
- outinf_1.kntr = min(i_2,i_1);
- /*< if (kntr.le.0) go to 595 >*/
- if (outinf_1.kntr <= 0) {
- goto L595;
- }
- /*< call title(1,lwidth,1,subtit(1,mode)) >*/
- title_(&c__1, &miscel_1.lwidth, &c__1, &subtit[(status_1.mode << 2) -
- 4]);
- /*< call setprn(loc) >*/
- setprn_(&loc);
-
- /* print ac outputs */
-
- /*< lout=loutpt >*/
- lout = tabinf_1.loutpt;
- /*< do 590 i=1,icalc >*/
- i_1 = status_1.icalc;
- for (i = 1; i <= i_1; ++i) {
- /*< xvar=dble(real(cvalue(lout+1))) >*/
- i_2 = lout;
- xvar = (doublereal) cvalue[i_2].r;
- /*< do 500 k=1,kntr >*/
- i_2 = outinf_1.kntr;
- for (k = 1; k <= i_2; ++k) {
- /*< iseq=itab(k) >*/
- tabinf_1.iseq = outinf_1.itab[k - 1];
- /*< iseq=nodplc(iseq+4) >*/
- tabinf_1.iseq = nodplc[tabinf_1.iseq + 3];
- /*< cval=cvalue(lout+iseq) >*/
- i_3 = lout + tabinf_1.iseq - 1;
- cval.r = cvalue[i_3].r, cval.i = cvalue[i_3].i;
- /*< ktype=itype(k) >*/
- ktype = outinf_1.itype[k - 1];
- /*< go to (450,450,430,440,450,450), ktype >*/
- switch (ktype) {
- case 1: goto L450;
- case 2: goto L450;
- case 3: goto L430;
- case 4: goto L440;
- case 5: goto L450;
- case 6: goto L450;
- }
- /*< 430 yvar(k)=dble(real(cval)) >*/
- L430:
- outinf_1.yvar[k - 1] = (doublereal) cval.r;
- /*< go to 500 >*/
- goto L500;
- /*< 440 yvar(k)=dble(aimag(cval)) >*/
- L440:
- outinf_1.yvar[k - 1] = (doublereal) r_imag(&cval);
- /*< go to 500 >*/
- goto L500;
- /*< 450 call magphs(cval,xmag,xphs) >*/
- L450:
- magphs_(&cval, &xmag, &xphs);
- /*< go to (460,460,430,440,470,465), ktype >*/
- switch (ktype) {
- case 1: goto L460;
- case 2: goto L460;
- case 3: goto L430;
- case 4: goto L440;
- case 5: goto L470;
- case 6: goto L465;
- }
- /*< 460 yvar(k)=xmag >*/
- L460:
- outinf_1.yvar[k - 1] = xmag;
- /*< go to 500 >*/
- goto L500;
- /*< 465 yvar(k)=20.0d0*dlog10(xmag) >*/
- L465:
- outinf_1.yvar[k - 1] = d_lg10(&xmag) * 20.;
- /*< go to 500 >*/
- goto L500;
- /*< 470 yvar(k)=xphs >*/
- L470:
- outinf_1.yvar[k - 1] = xphs;
- /*< 500 continue >*/
- L500:
- ;}
- /*< lout=lout+numout >*/
- lout += outinf_1.numout;
- /*< 580 write (iofile,prform) xvar,(yvar(k),k=1,kntr) >*/
- /* L580: */
- io__29.ciunit = status_1.iofile;
- s_wsfe(&io__29);
- do_fio(&c__1, (char *)&xvar, (ftnlen)sizeof(doublereal));
- i_2 = outinf_1.kntr;
- for (k = 1; k <= i_2; ++k) {
- do_fio(&c__1, (char *)&outinf_1.yvar[k - 1], (ftnlen)sizeof(
- doublereal));
- }
- e_wsfe();
- /*< 590 continue >*/
- /* L590: */
- }
- /*< write (iofile,111) >*/
- io__30.ciunit = status_1.iofile;
- s_wsfe(&io__30);
- e_wsfe();
- /*< 595 loc=nodplc(loc) >*/
- L595:
- loc = nodplc[loc - 1];
- /*< go to 320 >*/
- goto L320;
- /*< 599 continue >*/
- L599:
- ;}
-
- /* ac analysis plotting */
-
- /*< do 760 id=38,40 >*/
- for (id = 38; id <= 40; ++id) {
- /*< loc=locate(id) >*/
- loc = cirdat_1.locate[id - 1];
- /*< 610 if (loc.eq.0) go to 760 >*/
- L610:
- if (loc == 0) {
- goto L760;
- }
- /*< kntr=nodplc(loc+3) >*/
- outinf_1.kntr = nodplc[loc + 2];
- /*< if (kntr.le.0) go to 750 >*/
- if (outinf_1.kntr <= 0) {
- goto L750;
- }
- /*< locv=nodplc(loc+1) >*/
- locv = nodplc[loc];
- /*< call title(1,lwidth,1,subtit(1,mode)) >*/
- title_(&c__1, &miscel_1.lwidth, &c__1, &subtit[(status_1.mode << 2) -
- 4]);
- /*< call setplt(loc) >*/
- setplt_(&loc);
-
- /*< call getm8(locx,icalc) >*/
- getm8_(&locx, &status_1.icalc);
- /*< call getm8(locy,kntr*icalc) >*/
- i_1 = outinf_1.kntr * status_1.icalc;
- getm8_(&locy, &i_1);
-
- /* load plot buffers */
-
- /*< lout=loutpt >*/
- lout = tabinf_1.loutpt;
- /*< do 710 i=1,icalc >*/
- i_1 = status_1.icalc;
- for (i = 1; i <= i_1; ++i) {
- /*< xvar=dble(real(cvalue(lout+1))) >*/
- i_2 = lout;
- xvar = (doublereal) cvalue[i_2].r;
- /*< locyt=locy >*/
- locyt = locy;
- /*< do 700 k=1,kntr >*/
- i_2 = outinf_1.kntr;
- for (k = 1; k <= i_2; ++k) {
- /*< iseq=itab(k) >*/
- tabinf_1.iseq = outinf_1.itab[k - 1];
- /*< iseq=nodplc(iseq+4) >*/
- tabinf_1.iseq = nodplc[tabinf_1.iseq + 3];
- /*< cval=cvalue(lout+iseq) >*/
- i_3 = lout + tabinf_1.iseq - 1;
- cval.r = cvalue[i_3].r, cval.i = cvalue[i_3].i;
- /*< ktype=itype(k) >*/
- ktype = outinf_1.itype[k - 1];
- /*< go to (670,670,650,660,670,670), ktype >*/
- switch (ktype) {
- case 1: goto L670;
- case 2: goto L670;
- case 3: goto L650;
- case 4: goto L660;
- case 5: goto L670;
- case 6: goto L670;
- }
- /*< 650 yvr=dble(real(cval)) >*/
- L650:
- yvr = (doublereal) cval.r;
- /*< go to 695 >*/
- goto L695;
- /*< 660 yvr=dble(aimag(cval)) >*/
- L660:
- yvr = (doublereal) r_imag(&cval);
- /*< go to 695 >*/
- goto L695;
- /*< 670 call magphs(cval,xmag,xphs) >*/
- L670:
- magphs_(&cval, &xmag, &xphs);
- /*< go to (680,680,650,660,690,685), ktype >*/
- switch (ktype) {
- case 1: goto L680;
- case 2: goto L680;
- case 3: goto L650;
- case 4: goto L660;
- case 5: goto L690;
- case 6: goto L685;
- }
- /*< 680 yvr=dlog10(xmag) >*/
- L680:
- yvr = d_lg10(&xmag);
- /*< go to 695 >*/
- goto L695;
- /*< 685 yvr=20.0d0*dlog10(xmag) >*/
- L685:
- yvr = d_lg10(&xmag) * 20.;
- /*< go to 695 >*/
- goto L695;
- /*< 690 yvr=xphs >*/
- L690:
- yvr = xphs;
- /*< 695 value(locyt+i)=yvr >*/
- L695:
- blank_1.value[locyt + i - 1] = yvr;
- /*< locyt=locyt+icalc >*/
- locyt += status_1.icalc;
- /*< 700 continue >*/
- /* L700: */
- }
- /*< value(locx+i)=xvar >*/
- blank_1.value[locx + i - 1] = xvar;
- /*< lout=lout+numout >*/
- lout += outinf_1.numout;
- /*< 710 continue >*/
- /* L710: */
- }
- /*< call plot(icalc,locx,locy,locv) >*/
- plot_(&status_1.icalc, &locx, &locy, &locv);
- /*< call clrmem(locx) >*/
- clrmem_(&locx);
- /*< call clrmem(locy) >*/
- clrmem_(&locy);
- /*< 750 loc=nodplc(loc) >*/
- L750:
- loc = nodplc[loc - 1];
- /*< go to 610 >*/
- goto L610;
- /*< 760 continue >*/
- L760:
- ;}
-
- /* finished */
-
- /*< 1000 call clrmem(loutpt) >*/
- L1000:
- clrmem_(&tabinf_1.loutpt);
- /*< call second(t2) >*/
- second_(&t2);
- /*< rstats(11)=rstats(11)+t2-t1 >*/
- miscel_1.rstats[10] = miscel_1.rstats[10] + t2 - t1;
- /*< return >*/
- return 0;
- /*< end >*/
- } /* ovtpvt_ */
-
- #undef cvalue
- #undef nodplc
- #undef rprn
- #undef aper
- #undef prform
- #undef subtit
-
-
-